/*
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package org.f1x.api.message.fields;

// Generated by org.f1x.tools.DictionaryGenerator from QuickFIX dictionary
public enum ExecRestatementReason implements org.f1x.api.message.types.IntEnum {
	GT_CORPORATE_ACTION(0),
	GT_RENEWAL_RESTATEMENT(1),
	VERBAL_CHANGE(2),
	REPRICING_OF_ORDER(3),
	BROKER_OPTION(4),
	PARTIAL_DECLINE_OF_ORDERQTY(5),
	CANCEL_ON_TRADING_HALT(6),
	CANCEL_ON_SYSTEM_FAILURE(7),
	MARKET_OPTION(8),
	CANCELED_NOT_BEST(9),
	WAREHOUSE_RECAP(10),
	OTHER(99);

	private final int code;

	ExecRestatementReason (int code) {
		this.code  = code;
	}

	public int getCode() { return code; }

	public static ExecRestatementReason parse(String s) {
		switch(s) {
			case "0" : return GT_CORPORATE_ACTION;
			case "1" : return GT_RENEWAL_RESTATEMENT;
			case "2" : return VERBAL_CHANGE;
			case "3" : return REPRICING_OF_ORDER;
			case "4" : return BROKER_OPTION;
			case "5" : return PARTIAL_DECLINE_OF_ORDERQTY;
			case "6" : return CANCEL_ON_TRADING_HALT;
			case "7" : return CANCEL_ON_SYSTEM_FAILURE;
			case "8" : return MARKET_OPTION;
			case "9" : return CANCELED_NOT_BEST;
			case "10" : return WAREHOUSE_RECAP;
			case "99" : return OTHER;
		}
		return null;
	}

}